Skip to content

Updates and minor improvements.#1

Open
Omega359 wants to merge 320 commits intocodetyri0n:extract_withtzfrom
Omega359:extract_withtz
Open

Updates and minor improvements.#1
Omega359 wants to merge 320 commits intocodetyri0n:extract_withtzfrom
Omega359:extract_withtz

Conversation

@Omega359
Copy link
Copy Markdown

Updates from main, fixed docs on adjust_to_local_time and reverted change to calculate offset_seconds, resolved clippy issue.

kumarUjjawal and others added 30 commits January 21, 2026 03:44
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of  apache/datafusion-comet#2986.

## Rationale for this change

The cot function currently converts scalar inputs to arrays before
processing, even for single scalar values. This adds unnecessary
overhead from array allocation and conversion. Adding a scalar fast path
avoids this overhead.

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

- Added scalar fast path
- Added benchmark
- Update tests


| Type | Before | After | Speedup |
|------|--------|-------|---------|
| **cot_f64_scalar** | 229 ns | 67 ns | **3.4x** |
| **cot_f32_scalar** | 247 ns | 59 ns | **4.2x** |

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?



<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
## Which issue does this PR close?

- Related to apache#19617 

## Rationale for this change

DataFusion recently added TableProvider hooks for row-level DML
operations such as DELETE and UPDATE, but TRUNCATE TABLE was still
unsupported.

## What changes are included in this PR?

This PR adds planning and integration support for TRUNCATE TABLE in
DataFusion, completing another part of the DML surface alongside
existing DELETE and UPDATE support.

Specifically, it includes:
- SQL parsing support for TRUNCATE TABLE
- Logical plan support via a new WriteOp::Truncate DML operation
- Physical planner routing for TRUNCATE statements
- A new TableProvider::truncate() hook for storage-native
implementations
- Protobuf / DML node support for serializing and deserializing TRUNCATE
operations
- SQL logic tests validating logical and physical planning behavior

The implementation follows the same structure and conventions as the
existing DELETE and UPDATE DML support.
Execution semantics are delegated to individual TableProvider
implementations via the new hook.

## Are these changes tested?
Yes. The PR includes:
SQL logic tests that verify:
- Parsing of TRUNCATE TABLE
- Correct logical plan generation
- Correct physical planner routing
- Clear and consistent errors for providers that do not yet support
TRUNCATE

These tests mirror the existing testing strategy used for unsupported
DELETE and UPDATE operations.

## Are there any user-facing changes?
Yes. Users can now execute TRUNCATE TABLE statements in DataFusion for
tables whose TableProvider supports the new truncate() hook. Tables that
do not support TRUNCATE will return a clear NotImplemented error.
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache#18092

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

Main value add here is ensure UDAFs encode their actual accepted types
in their signature instead of internally casting to the actual types
they support from a wider signature. Also doing some driveby refactoring
of removing manual Debug impls.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

See rationale.

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

Existing tests.

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

No.

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.17 to
2.0.18.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/thiserror/releases">thiserror's
releases</a>.</em></p>
<blockquote>
<h2>2.0.18</h2>
<ul>
<li>Make compatible with project-level <code>needless_lifetimes =
&quot;forbid&quot;</code> (<a
href="https://redirect.github.com/dtolnay/thiserror/issues/443">#443</a>,
thanks <a
href="https://github.com/LucaCappelletti94"><code>@​LucaCappelletti94</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/thiserror/commit/dc0f6a23a3fb6ae34ef117133ec43650450c4b32"><code>dc0f6a2</code></a>
Release 2.0.18</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/027529273572e8171262231190c4328e40ec1b36"><code>0275292</code></a>
Touch up PR 443</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/3c33bc60add478225e6bbd19e9974a633da08545"><code>3c33bc6</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/443">#443</a>
from LucaCappelletti94/master</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/995939cc2eae15cc23f873f354f8ef3fbfd6a707"><code>995939c</code></a>
Reproduce issue 442</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/21653d1d33f563f0b8f8881671894a23cc3a2a27"><code>21653d1</code></a>
Made clippy lifetime allows conditional</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/45e5388009e68c32f20182db21ee5887bc1c3304"><code>45e5388</code></a>
Update actions/upload-artifact@v5 -&gt; v6</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/386aac126a95a97fae374c05bd2ebb1dd550a361"><code>386aac1</code></a>
Update actions/upload-artifact@v4 -&gt; v5</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/ec50561375fcd29d700da43a79f4f5d9794e5b4b"><code>ec50561</code></a>
Update actions/checkout@v5 -&gt; v6</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/247eab5d79e27ad28859afdf8bc600a4242829b7"><code>247eab5</code></a>
Update name of empty_enum clippy lint</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/91b181f0899fd42f41c210e73822c29eef29dd6d"><code>91b181f</code></a>
Raise required compiler to Rust 1.68</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/thiserror/compare/2.0.17...2.0.18">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=2.0.17&new-version=2.0.18)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Which issue does this PR close?

None

## Rationale for this change

Applies apache#13985 to more crates.

## What changes are included in this PR?

This symlinks `LICENSE.txt` and `NOTICE.txt` so they're included.

## Are these changes tested?

N/A

## Are there any user-facing changes?

N/A
…pache#19404)

## Which issue does this PR close?

- Closes apache#17246

## Rationale for this change
For dynamic filter to work properly, table scan must get correct column
even if it's passing through alias(by `ProjectionExec`) hence need to
modify parent filter when `gather_filters_for_pushdown`


## What changes are included in this PR?
as title, add support for handling simple alias in pushdown filter,
which expand aliased column(in pushdown filter) to it's original
expressions(or not pushdown if can't found aliased column in pushdown
filter) so alias in projection is supported, also added unit tests.
AI Content disclaim: the core logic is hand written and thoroughly
understood, but unit test are largely generated with some human guidance

## Are these changes tested?
Unit tests&slt are added, please comment if more tests are needed

## Are there any user-facing changes?
Yes, dynamic filter will work properly with alias now, I'm not sure if
that count as breaking change though?
<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->

---------

Signed-off-by: discord9 <discord9@163.com>
)

Bumps [actions/setup-python](https://github.com/actions/setup-python)
from 6.1.0 to 6.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-python/releases">actions/setup-python's
releases</a>.</em></p>
<blockquote>
<h2>v6.2.0</h2>
<h2>What's Changed</h2>
<h3>Dependency Upgrades</h3>
<ul>
<li>Upgrade dependencies to Node 24 compatible versions by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1259">actions/setup-python#1259</a></li>
<li>Upgrade urllib3 from 2.5.0 to 2.6.3 in <code>/__tests__/data</code>
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1253">actions/setup-python#1253</a>
and <a
href="https://redirect.github.com/actions/setup-python/pull/1264">actions/setup-python#1264</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-python/compare/v6...v6.2.0">https://github.com/actions/setup-python/compare/v6...v6.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-python/commit/a309ff8b426b58ec0e2a45f0f869d46889d02405"><code>a309ff8</code></a>
Bump urllib3 from 2.6.0 to 2.6.3 in /<strong>tests</strong>/data (<a
href="https://redirect.github.com/actions/setup-python/issues/1264">#1264</a>)</li>
<li><a
href="https://github.com/actions/setup-python/commit/bfe8cc55a7890e3d6672eda6460ef37bfcc70755"><code>bfe8cc5</code></a>
Upgrade <a href="https://github.com/actions"><code>@​actions</code></a>
dependencies to Node 24 compatible versions (<a
href="https://redirect.github.com/actions/setup-python/issues/1259">#1259</a>)</li>
<li><a
href="https://github.com/actions/setup-python/commit/4f41a90a1f38628c7ccc608d05fbafe701bc20ae"><code>4f41a90</code></a>
Bump urllib3 from 2.5.0 to 2.6.0 in /<strong>tests</strong>/data (<a
href="https://redirect.github.com/actions/setup-python/issues/1253">#1253</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-python/compare/83679a892e2d95755f2dac6acb0bfd1e9ac5d548...a309ff8b426b58ec0e2a45f0f869d46889d02405">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=6.1.0&new-version=6.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache/datafusion-comet#2986.

## Rationale for this change

The `iszero` function currently converts scalar inputs to arrays before
processing, even for single scalar values. This adds unnecessary
overhead from array allocation and conversion. Adding a scalar fast path
avoids this overhead and improves performance

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

- Added scalar fast path for `Float16`, `Float32`, and `Float64` scalar
inputs
- Updated tests

| Type | Before | After | Speedup |
|------|--------|-------|---------|
| **iszero f32 scalar** | 244 ns | 62 ns | **3.9x** |
| **iszero f64 scalar** | 245 ns | 62 ns | **4.0x** |

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

Yes

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

No
<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
## Which issue does this PR close?

Closes apache#19914 

The changes are fairly simple. The bug only occurs to udtf, so I added a
test case for this.
…#19936)

## Which issue does this PR close?

While working on apache#19930 , I
noticed a trailing whitespace in the CROSS JOIN logical plan output.
This whitespace is inconsistent with the rest of the logical plan
formatting.

## Rationale for this change

This change removes the unnecessary trailing whitespace in the logical
plan output of a CROSS JOIN.

## What changes are included in this PR?

## Are these changes tested?

Yes.

## Are there any user-facing changes?

No.
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.42 to
0.4.43.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chronotope/chrono/releases">chrono's
releases</a>.</em></p>
<blockquote>
<h2>0.4.43</h2>
<h2>What's Changed</h2>
<ul>
<li>Install extra components for lint workflow by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1741">chronotope/chrono#1741</a></li>
<li>Upgrade windows-bindgen to 0.64 by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1742">chronotope/chrono#1742</a></li>
<li>Improve windows-bindgen setup by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1744">chronotope/chrono#1744</a></li>
<li>Drop stabilized feature doc_auto_cfg by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1745">chronotope/chrono#1745</a></li>
<li>Faster RFC 3339 parsing by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1748">chronotope/chrono#1748</a></li>
<li>Update windows-bindgen requirement from 0.64 to 0.65 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/chronotope/chrono/pull/1751">chronotope/chrono#1751</a></li>
<li>add <code>NaiveDate::abs_diff</code> by <a
href="https://github.com/Kinrany"><code>@​Kinrany</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1752">chronotope/chrono#1752</a></li>
<li>Add feature gated defmt support. by <a
href="https://github.com/pebender"><code>@​pebender</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1747">chronotope/chrono#1747</a></li>
<li>Drop deny lints, eager Debug impls are a mixed blessing by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1753">chronotope/chrono#1753</a></li>
<li>chore: minor improvement for docs by <a
href="https://github.com/spuradage"><code>@​spuradage</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1756">chronotope/chrono#1756</a></li>
<li>Added doctest for the NaiveDate years_since function by <a
href="https://github.com/LucasBou"><code>@​LucasBou</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1755">chronotope/chrono#1755</a></li>
<li>Prepare 0.4.43 by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1765">chronotope/chrono#1765</a></li>
<li>Update copyright year to 2026 in LICENSE.txt by <a
href="https://github.com/taozui472"><code>@​taozui472</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1767">chronotope/chrono#1767</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/chronotope/chrono/commit/45caaa970ce443b11106a710ee24bd2480e5ff99"><code>45caaa9</code></a>
Update copyright year to 2026 in LICENSE.txt</li>
<li><a
href="https://github.com/chronotope/chrono/commit/1c0b8f011ab2f2e53c195df1866a1fb4c7fd193a"><code>1c0b8f0</code></a>
Bump version to 0.4.43</li>
<li><a
href="https://github.com/chronotope/chrono/commit/a03e43b1c3ef3aea77f12200d84144f275560aa9"><code>a03e43b</code></a>
Upgrade windows-bindgen to 0.66</li>
<li><a
href="https://github.com/chronotope/chrono/commit/4fedaba2a214aa560e1c6a70d0a09e6955ed3ff4"><code>4fedaba</code></a>
Ignore bincode advisory</li>
<li><a
href="https://github.com/chronotope/chrono/commit/f4b7bbda679199e7509da813849a10242b2f7aa1"><code>f4b7bbd</code></a>
Bump actions/checkout from 5 to 6</li>
<li><a
href="https://github.com/chronotope/chrono/commit/db129730e8f21ca66b3808c133b7147cbc62fc41"><code>db12973</code></a>
Added doctest for the NaiveDate years_since function (<a
href="https://redirect.github.com/chronotope/chrono/issues/1755">#1755</a>)</li>
<li><a
href="https://github.com/chronotope/chrono/commit/34b5f49e9d7cdcabda6eea054609a2ce4ba947f0"><code>34b5f49</code></a>
chore: minor improvement for docs</li>
<li><a
href="https://github.com/chronotope/chrono/commit/8c827116b9d67fe926eceb553ce95656dd7627d0"><code>8c82711</code></a>
Bump actions/setup-node from 5 to 6</li>
<li><a
href="https://github.com/chronotope/chrono/commit/ea1f11b356fde5c2825679378e8ddf6e153942e5"><code>ea1f11b</code></a>
Drop deny lints, eager Debug impls are a mixed blessing</li>
<li><a
href="https://github.com/chronotope/chrono/commit/35f9f2daef4c3132546d0004fdf37284df023fd3"><code>35f9f2d</code></a>
Add feature gated defmt support.</li>
<li>Additional commits viewable in <a
href="https://github.com/chronotope/chrono/compare/v0.4.42...v0.4.43">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chrono&package-manager=cargo&previous-version=0.4.42&new-version=0.4.43)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…en different (apache#19922)

## Which issue does this PR close?

None

## Rationale for this change

current when user self construct a UnionExec that with different schema
len, it will panic instead of error

## What changes are included in this PR?

if the input for UnionExec have diffent schema len, return error instead
of panic

## Are these changes tested?

yes, add one test case

## Are there any user-facing changes?
…che#19819)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Related to apache#19004 and apache#19809.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

Change internal error to user-facing error when function type coercion
fails. Add helpful hint when Binary types are used with string
functions.

Before:
```
Internal error: Expect TypeSignatureClass::Native(...) but received NativeType::Binary, DataType: Binary
```

After:
```
Error: Function 'split_part' requires String, but received Binary (DataType: Binary).
Hint: Binary types are not automatically coerced to String. Use CAST(column AS VARCHAR) to convert Binary data to String.
```
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

N/A

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

When hashing list arrays we hash all bytes of the child array, even if
we slice to a certain range of values. Refactor to slice only the needed
bytes; also do some general refactors.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

Refactor list array hashing.

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

Added test.

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

No.

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
…pache#19909)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

Part of: apache#15914

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

Implement spark compatible unhex functions:
https://spark.apache.org/docs/latest/api/sql/index.html#unhex

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?
Yes. UTs and SLT added.

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?
No.

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
…19722)

## Which issue does this PR close?

- closes apache#18320 

## Rationale for this change

Splitting the PR to make it more readable.

## What changes are included in this PR?

Adding the udf_preimage logic without date_part implementation.

## Are these changes tested?

Added unit tests for a test specific function

## Are there any user-facing changes?

No

---------

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
…s) (apache#19674)

## Which issue does this PR close?

* Closes apache#17285.

## Rationale for this change

DataFusion’s struct casting and some coercion paths were effectively
positional: when two structs had the same field types but different
field *orders*, casting could silently swap values. This is surprising
to users and can lead to silent data corruption (e.g. `{b: 3, a:
4}::STRUCT(a INT, b INT)` yielding `{a: 3, b: 4}`).

The goal of this PR is to make struct casting behavior match user
expectations by matching fields by **name** (case-sensitive) and
recursively applying the same logic to nested structs, while keeping a
compatible fallback for structs with **no** shared field names.

## What changes are included in this PR?

* **Name-based struct casting implementation** in
`datafusion_common::nested_struct`:

* Match struct fields by **name**, reorder to match target schema,
recursively cast nested structs.
  * Fill **missing target fields** with null arrays.
  * Ignore **extra source fields**.
* **Positional mapping fallback** when there is *no name overlap*
**and** field counts match (avoids breaking `struct(1, 'x')::STRUCT(a
INT, b VARCHAR)` style casts).
* Improved handling for **NULL / all-null struct inputs** by producing a
correctly typed null struct array.
* Centralized validation via `validate_field_compatibility` and helper
`fields_have_name_overlap`.

* **Ensure struct casting paths use the name-based logic**:

* `ScalarValue::cast_to_with_options`: route `Struct` casts through
`nested_struct::cast_column`.
* `ColumnarValue::cast_to`: for `Struct` targets, cast via
`nested_struct::cast_column`; non-struct casts still use Arrow’s
standard casting.

* **Type coercion improvements for structs in binary operators / CASE**:

* When two structs have at least one overlapping name, coerce **by
name**.
  * Otherwise, preserve prior behavior by coercing **positionally**.

* **Planning-time cast validation for struct-to-struct**:

* `physical-expr` CAST planning now validates struct compatibility using
the same rules as runtime (`validate_struct_compatibility`) to fail
fast.
* `ExprSchemable` allows struct-to-struct casts to pass type checking;
detailed compatibility is enforced by the runtime / planning-time
validator.

* **Optimizer safety**:

  * Avoid const-folding struct casts when field counts differ.
* Avoid const-folding casts of **0-row** struct literals due to
evaluation batch dimension mismatches.

* **Tests and SQL logic tests**:

  * New unit tests covering:

    * name-based reordering
    * missing fields (nullable vs non-nullable)
    * null struct fields and nested nulls
    * positional fallback with no overlap
    * coercion behavior and simplifier behavior
* Updated/added `.slt` cases to reflect the new semantics and to add
coverage for struct casts and nested struct reordering.

* **Minor docs/maintenance**:

* Adjusted doc comment referencing `ParquetWriterOptions` so it doesn’t
break when the `parquet` feature is disabled.

## Are these changes tested?

Yes.

* Added/updated Rust unit tests in:

  * `datafusion/common/src/nested_struct.rs`
  * `datafusion/expr-common/src/columnar_value.rs`
  * `datafusion/optimizer/src/simplify_expressions/expr_simplifier.rs`
* Added/updated SQL logic tests in:

  * `datafusion/sqllogictest/test_files/case.slt`
  * `datafusion/sqllogictest/test_files/struct.slt`

These tests cover:

* correct value mapping when struct field order differs
* nested struct reordering
* insertion of nulls for missing nullable fields
* erroring on missing non-nullable target fields
* positional mapping fallback when there is no name overlap
* planning-time validation vs runtime behavior alignment

## Are there any user-facing changes?

Yes.

* **Struct casts are now name-based** (case-sensitive): fields are
matched by name, reordered to the target schema, missing fields are
null-filled (if nullable), and extra fields are ignored.
* **Fallback behavior**: if there is *no* name overlap and field counts
match, casting proceeds **positionally**.
* **Potential behavior change** in queries relying on the prior
positional behavior when structs shared names but were out of order
(previously could yield swapped values). This PR changes that to the
safer, expected behavior.

No public API changes are introduced, but this is a semantic change in
struct casting.

## LLM-generated code disclosure

This PR includes LLM-generated code and comments. All LLM-generated
content has been manually reviewed and tested.
## Which issue does this PR close?

- Closes apache#19939

## Rationale for this change

Paritioned writes are suppored for Utf8 and Utf8View types and
supporting LargeUtf8 is fairly easy to do.

## What changes are included in this PR?

Support for LargeUtf8 partition values in hive partitions + a test for
all string types.

## Are these changes tested?

Yes!

## Are there any user-facing changes?

Something that was not supported now is
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1
to 6.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Add orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID
is set by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2355">actions/checkout#2355</a></li>
<li>Fix tag handling: preserve annotations and explicit fetch-tags by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v6.0.1...v6.0.2">https://github.com/actions/checkout/compare/v6.0.1...v6.0.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v6.0.2</h2>
<ul>
<li>Fix tag handling: preserve annotations and explicit fetch-tags by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li>
</ul>
<h2>v6.0.1</h2>
<ul>
<li>Add worktree support for persist-credentials includeIf by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li>
</ul>
<h2>v6.0.0</h2>
<ul>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
</ul>
<h2>v5.0.1</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<h2>v5.0.0</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
</ul>
<h2>v4.3.1</h2>
<ul>
<li>Port v6 cleanup to v4 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li>
</ul>
<h2>v4.3.0</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<h2>v4.2.0</h2>
<ul>
<li>Add Ref and Commit outputs by <a
href="https://github.com/lucacome"><code>@​lucacome</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li>
<li>Dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>- <a
href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>,
<a
href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li>
</ul>
<h2>v4.1.7</h2>
<ul>
<li>Bump the minor-npm-dependencies group across 1 directory with 4
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li>
<li>Bump actions/checkout from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li>
<li>Check out other refs/* by commit by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li>
<li>Pin actions/checkout's own workflows to a known, good, stable
version. by <a href="https://github.com/jww3"><code>@​jww3</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkout#1776</a></li>
</ul>
<h2>v4.1.6</h2>
<ul>
<li>Check platform to set archive extension appropriately by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkout#1732</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/de0fac2e4500dabe0009e67214ff5f5447ce83dd"><code>de0fac2</code></a>
Fix tag handling: preserve annotations and explicit fetch-tags (<a
href="https://redirect.github.com/actions/checkout/issues/2356">#2356</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/064fe7f3312418007dea2b49a19844a9ee378f49"><code>064fe7f</code></a>
Add orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is
set (...</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/8e8c483db84b4bee98b60c0593521ed34d9990e8...de0fac2e4500dabe0009e67214ff5f5447ce83dd">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=6.0.1&new-version=6.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Rationale for this change

Noticed that `FilterExec` batch size is not preserved so it is set to
default one after plan serialization + de-serialization. This patch
fixes it.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->
…ache#19962)

## Summary
Extract benchmarks and sqllogictest cases from apache#19538 for easier review.

This PR includes:
- **New Benchmark**: `parquet_struct_query.rs` - Benchmarks SQL queries
on struct columns in Parquet files
  - 524,288 rows across 8 row groups
- 20 benchmark queries covering struct access, filtering, joins, and
aggregations
- Struct schema: `id` (Int32) and `s` (Struct with `id`/Int32 and
`value`/Utf8 fields)
  
- **SQLLogicTest**: `projection_pushdown.slt` - Tests for projection
pushdown optimization

## Changes
- Added `datafusion/core/benches/parquet_struct_query.rs`
- Updated `datafusion/core/Cargo.toml` with benchmark entry
- Added `datafusion/sqllogictest/test_files/projection_pushdown.slt`

## Test Plan
- Run benchmark: `cargo bench --profile dev --bench
parquet_struct_query`
- All 20 benchmark queries execute successfully
- Parquet file generated with correct row count (524,288) and row groups
(8)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#19912

## Rationale for this change

Just a couple of optimizations for hash table lookups usage in hash
aggregate.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache/datafusion-comet#2986.

## Rationale for this change


The `ascii` function currently converts scalar inputs to arrays before
processing via `make_scalar_function`. Adding a scalar fast path avoids
this overhead and improves performance.

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

1. Refactored `invoke_with_args` to use `match` statement for handling
both scalar and array inputs
2. Added scalar fast path for `Utf8`, `LargeUtf8`, and `Utf8View` scalar
inputs

| Type | Before | After | Speedup |
|------|--------|-------|---------|
| **ascii/scalar_utf8** | 234 ns | 56 ns | **4.2x** |
| **ascii/scalar_utf8view** | 206 ns | 57 ns | **3.6x** |

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

Yes

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

No

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
…e#19927)

## Rationale for this change

In our project we support multi-statement SQL with DF statements.

If we use `next_token(...)` then in the case of multi-statement query it
consumes a semicolon token which leads to the parse error on the correct
queries like:

```sql
CREATE EXTERNAL TABLE t1 ...;
CREATE EXTERNAL TABLE t2 ...;
```

This patch fixes this behavior switching `next_token(...)` to
`peek_token(...)` to test on EOF.

## Are these changes tested?

There is a unit test covering multi-statement SQL.
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache/datafusion-comet#2986.

## Rationale for this change

The `factorial` function currently converts scalar inputs to arrays
before processing. Adding a scalar fast path avoids this overhead and
improves performance.

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

1. Refactored `invoke_with_args` to use `match` statement for handling
both scalar and array inputs
2. Inlined array processing logic, removing `make_scalar_function`
usage.

| Type | Before | After | Speedup |
|------|--------|-------|---------|
| **factorial_scalar** | 244 ns | 102 ns | **2.4x** |

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

Yes, covered by existing SLT tests:
- `scalar.slt` lines 461-477
- `math.slt` line 797

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
…pache#19954)

* Follow-up to: apache#17565
* Related: apache/arrow-rs#8290

## Rationale for this change
I believe that error messages should be as readable as possible. Aim for
`rustc` more than `gcc`.

`Display` is the nice, user-facing formatter. `Debug` is for… well,
debugging.

## What changes are included in this PR?
Change a bunch of `{:?}` format string to `{}`. I'm sure I missed a lot
of them, because I know of no way to enforce this without
* rust-lang/rust-clippy#8581

## Are these changes tested?
I assume CI runs `cargo test` :)

## Are there any user-facing changes?
Yes! Error messages should be a bit more readable now.

---------

Co-authored-by: Tim Saucer <timsaucer@gmail.com>
## Rationale for this change

In our project we use some base `SessionState` (not managed by
`SessionContext`) to implement some DDL operations, dynamically
replacing its catalog to an actual one. So it would be good to have this
function as a `pub` one.

## What changes are included in this PR?

Export `SessionState::register_catalog_list(...)` method.
Main motivator for this is the `taiki-e` action which has lots of
version bumps and subsequently lots of PRs; but also the other actions
are weekly only so might as well make them consistent.
…19988)

Bumps [setuptools](https://github.com/pypa/setuptools) from 80.9.0 to
80.10.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's
changelog</a>.</em></p>
<blockquote>
<h1>v80.10.1</h1>
<h2>Misc</h2>
<ul>
<li><a
href="https://redirect.github.com/pypa/setuptools/issues/5152">#5152</a></li>
</ul>
<h1>v80.10.0</h1>
<h2>Features</h2>
<ul>
<li>Remove post-release tags on setuptools' own build. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4530">#4530</a>)</li>
<li>Refreshed vendored dependencies. (<a
href="https://redirect.github.com/pypa/setuptools/issues/5139">#5139</a>)</li>
</ul>
<h2>Misc</h2>
<ul>
<li><a
href="https://redirect.github.com/pypa/setuptools/issues/5033">#5033</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/adfb0c9e3d1789587d609228d9ea1d79272e4107"><code>adfb0c9</code></a>
Bump version: 80.10.0 → 80.10.1</li>
<li><a
href="https://github.com/pypa/setuptools/commit/8535d107c2ff20e8e4a0aca2d780461918f54180"><code>8535d10</code></a>
docs: Link pyproject.toml to ext_modules (<a
href="https://redirect.github.com/pypa/setuptools/issues/5125">#5125</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/fafbe2c6566a9562300046b088ceb71efa9eb07f"><code>fafbe2c</code></a>
[CI] Workaround for GHA handling of 'skipped' in job dependency chain
(<a
href="https://redirect.github.com/pypa/setuptools/issues/5152">#5152</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/d171023e5b023bbe2ce8e29e7ae3314c01925783"><code>d171023</code></a>
Add news fragment</li>
<li><a
href="https://github.com/pypa/setuptools/commit/3dbba0672ad44d1b985ef47ebd098d10bee8e1d0"><code>3dbba06</code></a>
Refine comment to reference issue</li>
<li><a
href="https://github.com/pypa/setuptools/commit/e4922c88a5ebe7d7ca40a0abfaa59e1377372bf2"><code>e4922c8</code></a>
Apply suggestion from <a
href="https://github.com/webknjaz"><code>@​webknjaz</code></a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/218c146ba37dabb9513f53510985dd6c3758dd23"><code>218c146</code></a>
[CI] Workaround for GHA handling of 'skipped' in job dependency
chain</li>
<li><a
href="https://github.com/pypa/setuptools/commit/29031718a55e5c7d5bbfc572b84d35d1f1f52aff"><code>2903171</code></a>
Bump version: 80.9.0 → 80.10.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/23a2b180ef81e6cda7fe55c14cdfca6385e8903e"><code>23a2b18</code></a>
[CI] Allow the action <code>check-changed-folders</code> to be skipped
in the <code>check</code> ac...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/660e5817c2b7631494adb2e044e17fcf59f683fc"><code>660e581</code></a>
[CI] Allow the action <code>check-changed-folders</code> to be skipped
in the <code>check</code> ac...</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v80.9.0...v80.10.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=setuptools&package-manager=pip&previous-version=80.9.0&new-version=80.10.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…e#19987)

Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.66.7 to 2.67.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.67.9</h2>
<ul>
<li>
<p>Update <code>cargo-zigbuild@latest</code> to 0.21.2.</p>
</li>
<li>
<p>Update <code>tombi@latest</code> to 0.7.24.</p>
</li>
</ul>
<h2>2.67.8</h2>
<ul>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.153.</p>
</li>
<li>
<p>Update <code>cargo-llvm-cov@latest</code> to 0.7.1.</p>
</li>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.17.3.</p>
</li>
</ul>
<h2>2.67.7</h2>
<ul>
<li>
<p>Update <code>cargo-llvm-cov@latest</code> to 0.7.0.</p>
</li>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.152.</p>
</li>
</ul>
<h2>2.67.6</h2>
<ul>
<li>Update <code>cargo-nextest@latest</code> to 0.9.123.</li>
</ul>
<h2>2.67.5</h2>
<ul>
<li>
<p>Update <code>cargo-semver-checks@latest</code> to 0.46.0.</p>
</li>
<li>
<p>Update <code>tombi@latest</code> to 0.7.23.</p>
</li>
</ul>
<h2>2.67.4</h2>
<ul>
<li>
<p>Support installing native binary for <code>cargo-llvm-cov</code> on
AArch64 Windows. (Previously x86_64 Windows binary is used as
fallback.)</p>
</li>
<li>
<p>Update <code>cargo-llvm-cov@latest</code> to 0.6.24.</p>
</li>
</ul>
<h2>2.67.3</h2>
<ul>
<li>
<p>Update <code>zola@latest</code> to 0.22.1.</p>
</li>
<li>
<p>Update <code>prek@latest</code> to 0.3.0.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2026.1.6.</p>
</li>
<li>
<p>Update <code>tombi@latest</code> to 0.7.22.</p>
</li>
<li>
<p>Update <code>cargo-neat@latest</code> to 0.2.4.</p>
</li>
</ul>
<h2>2.67.2</h2>
<ul>
<li>
<p>Update <code>wasmtime@latest</code> to 41.0.0.</p>
</li>
<li>
<p>Update <code>git-cliff@latest</code> to 2.12.0.</p>
</li>
</ul>
<h2>2.67.1</h2>
<ul>
<li>Update <code>wasm-pack@latest</code> to 0.14.0.</li>
</ul>
<h2>2.67.0</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<ul>
<li>Update <code>tombi@latest</code> to 0.7.25.</li>
</ul>
<h2>[2.67.9] - 2026-01-25</h2>
<ul>
<li>
<p>Update <code>cargo-zigbuild@latest</code> to 0.21.2.</p>
</li>
<li>
<p>Update <code>tombi@latest</code> to 0.7.24.</p>
</li>
</ul>
<h2>[2.67.8] - 2026-01-24</h2>
<ul>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.153.</p>
</li>
<li>
<p>Update <code>cargo-llvm-cov@latest</code> to 0.7.1.</p>
</li>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.17.3.</p>
</li>
</ul>
<h2>[2.67.7] - 2026-01-24</h2>
<ul>
<li>
<p>Update <code>cargo-llvm-cov@latest</code> to 0.7.0.</p>
</li>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.152.</p>
</li>
</ul>
<h2>[2.67.6] - 2026-01-23</h2>
<ul>
<li>Update <code>cargo-nextest@latest</code> to 0.9.123.</li>
</ul>
<h2>[2.67.5] - 2026-01-23</h2>
<ul>
<li>
<p>Update <code>cargo-semver-checks@latest</code> to 0.46.0.</p>
</li>
<li>
<p>Update <code>tombi@latest</code> to 0.7.23.</p>
</li>
</ul>
<h2>[2.67.4] - 2026-01-22</h2>
<ul>
<li>
<p>Support installing native binary for <code>cargo-llvm-cov</code> on
AArch64 Windows. (Previously x86_64 Windows binary is used as
fallback.)</p>
</li>
<li>
<p>Update <code>cargo-llvm-cov@latest</code> to 0.6.24.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/taiki-e/install-action/commit/386d9ef5a1dde23219d42c562ab251ed9ce92f98"><code>386d9ef</code></a>
Release 2.67.9</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/6b64edc585d98a99211ab115b0449de8893c70c7"><code>6b64edc</code></a>
Update <code>cargo-zigbuild@latest</code> to 0.21.2</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/30cb022b4d0d73e84ccb5bf0e43cdd6c723f9447"><code>30cb022</code></a>
Update <code>tombi@latest</code> to 0.7.24</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/20b8fa5e17eb9bff42b5450c9c51724bf4609cf0"><code>20b8fa5</code></a>
Release 2.67.8</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/f3eb676cc2b8d86694a357c04edc63a1db33aea3"><code>f3eb676</code></a>
Update <code>release-plz@latest</code> to 0.3.153</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/b63ed4f41285b50e29a013c950f0820427e1ff0d"><code>b63ed4f</code></a>
Update <code>cargo-llvm-cov@latest</code> to 0.7.1</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/a9f7115a3ce5a57c5fb1a509cb78038735eef37c"><code>a9f7115</code></a>
Update <code>cargo-binstall@latest</code> to 1.17.3</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/90b40388b8931b1c39e248959515e295e02e9066"><code>90b4038</code></a>
Release 2.67.7</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/d7137557a3d6d3ad9acb189230463e4c11f3691a"><code>d713755</code></a>
Update <code>cargo-llvm-cov@latest</code> to 0.7.0</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/d8afedecb155ac989ba1a3fbd80e5b142e38a3e0"><code>d8afede</code></a>
Update <code>release-plz@latest</code> to 0.3.152</li>
<li>Additional commits viewable in <a
href="https://github.com/taiki-e/install-action/compare/542cebaaed782771e619bd5609d97659d109c492...386d9ef5a1dde23219d42c562ab251ed9ce92f98">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.66.7&new-version=2.67.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Omega359 and others added 29 commits February 16, 2026 10:10
…hange (apache#20380)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache#20324 (dynamic filter update overhead for aggregates)

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

Right now `AggregateStream::maybe_update_dyn_filter()` unconditionally
updates filter predicates after every batch even without any change.
Which triggers predicate rebuilds for file pruners even though we
converge towards the bounds quite early on.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

We only conditionally update filter predicates if the bounds change.

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

The existing test suits pass. The existing clickbench regression shows
virtually no change.

<details>
  <summary>Benchmark Results</summary>
The existing benchmarks don't reproduce this as it gets the data from
stats. So we can use a trick like `"EventDate" + 0` to force full table
scan.
 
  ```sql
  SET datafusion.execution.parquet.binary_as_string = true;
  SET datafusion.execution.parquet.pushdown_filters = false;

CREATE EXTERNAL TABLE hits STORED AS PARQUET LOCATION
'benchmarks/data/hits_partitioned';
CREATE VIEW hits_view AS SELECT "EventDate" + 0 AS "EventDate" FROM
hits;

  -- Warmup
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;

  -- dyn_off x5: hard-coded filter, dynamic filter disabled
SET datafusion.optimizer.enable_aggregate_dynamic_filter_pushdown =
false;
SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view WHERE
"EventDate" > 0 AND "EventDate" < 99999999;
SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view WHERE
"EventDate" > 0 AND "EventDate" < 99999999;
SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view WHERE
"EventDate" > 0 AND "EventDate" < 99999999;
SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view WHERE
"EventDate" > 0 AND "EventDate" < 99999999;
SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view WHERE
"EventDate" > 0 AND "EventDate" < 99999999;

  -- dyn_on x5: dynamic filter enabled
SET datafusion.optimizer.enable_aggregate_dynamic_filter_pushdown =
true;
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;
  ```

  ### Before (baseline)

  | Iteration | dyn_off | dyn_on |
  |-----------|---------|--------|
  | 1 | 39ms | 44ms |
  | 2 | 39ms | 44ms |
  | 3 | 40ms | 44ms |
  | 4 | 39ms | 45ms |
  | 5 | 38ms | 45ms |
  | **Avg** | **39.0ms** | **44.4ms** |

We can see that that it's a little slow to execute with dynamic filters
on.

  ### After (this PR)

  | Iteration | dyn_off | dyn_on |
  |-----------|---------|--------|
  | 1 | 40ms | 33ms |
  | 2 | 41ms | 32ms |
  | 3 | 40ms | 32ms |
  | 4 | 42ms | 32ms |
  | 5 | 39ms | 31ms |
  | **Avg** | **40.4ms** | **32.0ms** |

  And we get approx 20% boost with the patch (in my local setup)

  </details>

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->

---------

Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
…pache#20247)

## Which issue does this PR close?

- Fixes apache#20244

This is an alternatative to 
- apache#20245

## Rationale for this change

Wrong answers bug was exposed by
apache#19287 in 52. See
apache#20244 and backstory here
- apache#19287 (comment)

## What changes are included in this PR?

Fix the bug by properly implemnting 

## Are these changes tested?

Yes, a new test is added

## Are there any user-facing changes?

A bug is fixed

---------

Co-authored-by: Mustafa Akur <akurmustafa@gmail.com>
## Which issue does this PR close?

No issue raised

## Rationale for this change

`try_shrink` never released any memory from the pool, and so would cause
a "memory leak"

## What changes are included in this PR?

A few changes to `MemoryReservation`

## Are these changes tested?

Yes & new test has been added

## Are there any user-facing changes?

Nope
Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.38.1
to 0.38.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/GuillaumeGomez/sysinfo/blob/main/CHANGELOG.md">sysinfo's
changelog</a>.</em></p>
<blockquote>
<h1>0.38.2</h1>
<ul>
<li>Implement <code>Error</code> trait for
<code>MacAddrFromStrError</code>, <code>IpNetworkFromStrError</code> and
<code>KillError</code> types.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/GuillaumeGomez/sysinfo/commit/e3e319f11b06b3a7db220f88eedac7904e0d6580"><code>e3e319f</code></a>
Merge pull request <a
href="https://redirect.github.com/GuillaumeGomez/sysinfo/issues/1626">#1626</a>
from GuillaumeGomez/update</li>
<li><a
href="https://github.com/GuillaumeGomez/sysinfo/commit/6673f0453ef7475781a81e3dab8e5492741d1580"><code>6673f04</code></a>
Update crate version to <code>0.38.2</code></li>
<li><a
href="https://github.com/GuillaumeGomez/sysinfo/commit/4239c851afcc55e7bfd4e7fbacb6404c51c26f88"><code>4239c85</code></a>
Update CHANGELOG for <code>0.38.2</code></li>
<li><a
href="https://github.com/GuillaumeGomez/sysinfo/commit/eb9160337977f5b9c6250741b376c5f3c114129d"><code>eb91603</code></a>
Merge pull request <a
href="https://redirect.github.com/GuillaumeGomez/sysinfo/issues/1625">#1625</a>
from GuillaumeGomez/error</li>
<li><a
href="https://github.com/GuillaumeGomez/sysinfo/commit/8aa5200e062dc62bbb92ab8e963151deb7099465"><code>8aa5200</code></a>
Implement <code>Error</code> trait for error types</li>
<li>See full diff in <a
href="https://github.com/GuillaumeGomez/sysinfo/compare/v0.38.1...v0.38.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sysinfo&package-manager=cargo&previous-version=0.38.1&new-version=0.38.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [indicatif](https://github.com/console-rs/indicatif) from 0.18.3
to 0.18.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/console-rs/indicatif/releases">indicatif's
releases</a>.</em></p>
<blockquote>
<h2>0.18.4</h2>
<h2>What's Changed</h2>
<ul>
<li>initial draft oft hold_max with heuristic by <a
href="https://github.com/djugei"><code>@​djugei</code></a> in <a
href="https://redirect.github.com/console-rs/indicatif/pull/657">console-rs/indicatif#657</a></li>
<li>Fix duration after finish by <a
href="https://github.com/luolong"><code>@​luolong</code></a> in <a
href="https://redirect.github.com/console-rs/indicatif/pull/748">console-rs/indicatif#748</a></li>
<li>Add refresh rate warning for ProgressDrawTarget::term_like() by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/console-rs/indicatif/pull/750">console-rs/indicatif#750</a></li>
<li>Seeking heuristic tweaks by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/console-rs/indicatif/pull/751">console-rs/indicatif#751</a></li>
<li>Expose the current tab width by <a
href="https://github.com/alexisfontaine"><code>@​alexisfontaine</code></a>
in <a
href="https://redirect.github.com/console-rs/indicatif/pull/754">console-rs/indicatif#754</a></li>
<li>Make WASM support optional via a feature flag by <a
href="https://github.com/SvenFinn"><code>@​SvenFinn</code></a> in <a
href="https://redirect.github.com/console-rs/indicatif/pull/761">console-rs/indicatif#761</a></li>
<li>fix: respect NO_COLOR and TERM=dumb environment variables by <a
href="https://github.com/shaanmajid"><code>@​shaanmajid</code></a> in <a
href="https://redirect.github.com/console-rs/indicatif/pull/764">console-rs/indicatif#764</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/console-rs/indicatif/commit/4de2f604c3f5af5556db0a1d15e296102879c8d9"><code>4de2f60</code></a>
Bump version to 0.18.4</li>
<li><a
href="https://github.com/console-rs/indicatif/commit/8e0ab0e6b2b098afa68e62a9b41c6c9d6f74811d"><code>8e0ab0e</code></a>
fix: respect NO_COLOR and TERM=dumb environment variables</li>
<li><a
href="https://github.com/console-rs/indicatif/commit/781b2d045bfecc61880ac7dbc171b72cc92eebab"><code>781b2d0</code></a>
Take semver-compatible dependency updates</li>
<li><a
href="https://github.com/console-rs/indicatif/commit/34aee0740c59ad5ba5688328aec122b05b3c2dea"><code>34aee07</code></a>
Introduce unicode-width feature</li>
<li><a
href="https://github.com/console-rs/indicatif/commit/51d284f25dc6fa2b4d5b25b6d13201f683119c9a"><code>51d284f</code></a>
Introduce wasmbind feature</li>
<li><a
href="https://github.com/console-rs/indicatif/commit/ee057e542d0c587c57871aa1487b3f828dd99bbf"><code>ee057e5</code></a>
Bump tokio from 1.48.0 to 1.49.0</li>
<li><a
href="https://github.com/console-rs/indicatif/commit/31bcea3a68acc00363c5be5d69d5f7c8b3a27ed5"><code>31bcea3</code></a>
Bump portable-atomic from 1.11.1 to 1.12.0</li>
<li><a
href="https://github.com/console-rs/indicatif/commit/dbd26eb18157e5fad18c79e1933ad5f249165d6c"><code>dbd26eb</code></a>
Bump console from 0.16.1 to 0.16.2</li>
<li><a
href="https://github.com/console-rs/indicatif/commit/7ac4a0d1b8bb698619f9880105dc9d27799a3d55"><code>7ac4a0d</code></a>
Expose the current tab width</li>
<li><a
href="https://github.com/console-rs/indicatif/commit/95088ffd980a6f0cdd6571418fd9c6d6fd1603d1"><code>95088ff</code></a>
iter: clean up variable names, casting</li>
<li>Additional commits viewable in <a
href="https://github.com/console-rs/indicatif/compare/0.18.3...0.18.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indicatif&package-manager=cargo&previous-version=0.18.3&new-version=0.18.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [liblzma](https://github.com/portable-network-archive/liblzma-rs)
from 0.4.5 to 0.4.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/portable-network-archive/liblzma-rs/releases">liblzma's
releases</a>.</em></p>
<blockquote>
<h2>liblzma-0.4.6</h2>
<h2>What's Changed</h2>
<ul>
<li>:sparkles: expose and document extreme preset support by <a
href="https://github.com/ChanTsune"><code>@​ChanTsune</code></a> in <a
href="https://redirect.github.com/Portable-Network-Archive/liblzma-rs/pull/203">Portable-Network-Archive/liblzma-rs#203</a></li>
<li>:bookmark: Bump liblzma version to 0.4.6 by <a
href="https://github.com/ChanTsune"><code>@​ChanTsune</code></a> in <a
href="https://redirect.github.com/Portable-Network-Archive/liblzma-rs/pull/205">Portable-Network-Archive/liblzma-rs#205</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Portable-Network-Archive/liblzma-rs/compare/liblzma-sys-0.4.5...liblzma-0.4.6">https://github.com/Portable-Network-Archive/liblzma-rs/compare/liblzma-sys-0.4.5...liblzma-0.4.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Portable-Network-Archive/liblzma-rs/commit/8f8d7a349bc513e9cdeeb3d9073d54f544549846"><code>8f8d7a3</code></a>
:bookmark: Bump liblzma version to 0.4.6</li>
<li><a
href="https://github.com/Portable-Network-Archive/liblzma-rs/commit/0c244de2cd1a81a9d60a07de7dbd628ea734bae1"><code>0c244de</code></a>
:sparkles: expose and document extreme preset support</li>
<li><a
href="https://github.com/Portable-Network-Archive/liblzma-rs/commit/6ab07a0f79bf1593cc91dfc51a5de855a6f21afc"><code>6ab07a0</code></a>
:arrow_up: Bump libc in msrv lockfile</li>
<li><a
href="https://github.com/Portable-Network-Archive/liblzma-rs/commit/ece95abf853ed9594557c41efefab9abf8c8f56b"><code>ece95ab</code></a>
:construction_worker: Use msrv lockfile in wasm workflow</li>
<li><a
href="https://github.com/Portable-Network-Archive/liblzma-rs/commit/7d0de0a1eea629043e1acf7246ef24df631d0443"><code>7d0de0a</code></a>
:arrow_up: Bump peter-evans/create-pull-request from 6 to 8</li>
<li><a
href="https://github.com/Portable-Network-Archive/liblzma-rs/commit/d75448814875ce7445597198118f95a1393b23c2"><code>d754488</code></a>
:construction_worker: xz version bump automation</li>
<li><a
href="https://github.com/Portable-Network-Archive/liblzma-rs/commit/36d7b596ea8899d02153a472d00366b025ab39fc"><code>36d7b59</code></a>
:bookmark: Bump liblzma-sys version to 0.4.5</li>
<li><a
href="https://github.com/Portable-Network-Archive/liblzma-rs/commit/2ec405a3ce5a2a9e8e2d56f2a89896f15cc84354"><code>2ec405a</code></a>
Revert &quot;:construction_worker: Pin nightly rust version on wasm
CI&quot;</li>
<li><a
href="https://github.com/Portable-Network-Archive/liblzma-rs/commit/11fbc926c455939ee49f4429bd919114a5ca20d9"><code>11fbc92</code></a>
:alien: Regenerate bindgen for xz 5.8.2</li>
<li><a
href="https://github.com/Portable-Network-Archive/liblzma-rs/commit/ee402b1c36a02f90f721dcd97996c86419f351ad"><code>ee402b1</code></a>
:arrow_up: Bump xz version to 5.8.2</li>
<li>Additional commits viewable in <a
href="https://github.com/portable-network-archive/liblzma-rs/compare/liblzma-0.4.5...liblzma-0.4.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=liblzma&package-manager=cargo&previous-version=0.4.5&new-version=0.4.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aws-config](https://github.com/smithy-lang/smithy-rs) from 1.8.13
to 1.8.14.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/smithy-lang/smithy-rs/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-config&package-manager=cargo&previous-version=1.8.13&new-version=1.8.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [tonic](https://github.com/hyperium/tonic) from 0.14.3 to 0.14.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hyperium/tonic/releases">tonic's
releases</a>.</em></p>
<blockquote>
<h2>v0.14.4</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(doc): Replace doc_auto_cfg config with doc_cfg by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/tonic/pull/2428">hyperium/tonic#2428</a></li>
<li>fix(web): allow space after <code>:</code> in
<code>grpc-status</code> by <a
href="https://github.com/LucioFranco"><code>@​LucioFranco</code></a> in
<a
href="https://redirect.github.com/hyperium/tonic/pull/2506">hyperium/tonic#2506</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/r0x0d"><code>@​r0x0d</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/tonic/pull/2502">hyperium/tonic#2502</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/hyperium/tonic/compare/v0.14.3...v0.14.4">https://github.com/hyperium/tonic/compare/v0.14.3...v0.14.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/hyperium/tonic/commit/cd5b32fa6794896b4ad5ea86fbf0ecbb49c80ad9"><code>cd5b32f</code></a>
chore: prepare 0.14.4 release (<a
href="https://redirect.github.com/hyperium/tonic/issues/2504">#2504</a>)</li>
<li><a
href="https://github.com/hyperium/tonic/commit/27640d23d77c4f38bc16828f0211d999062b95d3"><code>27640d2</code></a>
fix(web): allow space after <code>:</code> in <code>grpc-status</code>
(<a
href="https://redirect.github.com/hyperium/tonic/issues/2506">#2506</a>)</li>
<li><a
href="https://github.com/hyperium/tonic/commit/0c26ee1e673810e9eee7fead806408c937215dfb"><code>0c26ee1</code></a>
Fix permission of a series of files (<a
href="https://redirect.github.com/hyperium/tonic/issues/2502">#2502</a>)</li>
<li><a
href="https://github.com/hyperium/tonic/commit/c25daa68a94b8649ea617ed6fabad648ee6169f9"><code>c25daa6</code></a>
fix(ci): remove comment from manifest to unblock version parsing (<a
href="https://redirect.github.com/hyperium/tonic/issues/2501">#2501</a>)</li>
<li><a
href="https://github.com/hyperium/tonic/commit/3efc5f9ce817614d0444f67c02b94bf7f767029d"><code>3efc5f9</code></a>
chore(doc): Replace doc_auto_cfg config with doc_cfg (<a
href="https://redirect.github.com/hyperium/tonic/issues/2428">#2428</a>)</li>
<li>See full diff in <a
href="https://github.com/hyperium/tonic/compare/v0.14.3...v0.14.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tonic&package-manager=cargo&previous-version=0.14.3&new-version=0.14.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.57 to 4.5.59.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.5.59</h2>
<h2>[4.5.59] - 2026-02-16</h2>
<h3>Fixes</h3>
<ul>
<li><code>Command::ignore_errors</code> no longer masks help/version on
subcommands</li>
</ul>
<h2>v4.5.58</h2>
<h2>[4.5.58] - 2026-02-11</h2>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.5.59] - 2026-02-16</h2>
<h3>Fixes</h3>
<ul>
<li><code>Command::ignore_errors</code> no longer masks help/version on
subcommands</li>
</ul>
<h2>[4.5.58] - 2026-02-11</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/clap-rs/clap/commit/0bb3ad7e12e729be9f152391558689ac4fdd31ec"><code>0bb3ad7</code></a>
chore: Release</li>
<li><a
href="https://github.com/clap-rs/clap/commit/5cb5ce3873a882ba2a7d619864202eadef21fffa"><code>5cb5ce3</code></a>
docs: Update changelog</li>
<li><a
href="https://github.com/clap-rs/clap/commit/245c8ba75a481250a48170f1add11532a7b7fd33"><code>245c8ba</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/6149">#6149</a>
from epage/wrap</li>
<li><a
href="https://github.com/clap-rs/clap/commit/dd17a418a9e6665c98ff6e0ba2a039fd1921988e"><code>dd17a41</code></a>
fix(help): Correctly calculate wrap points with ANSI escape codes</li>
<li><a
href="https://github.com/clap-rs/clap/commit/2cc4e350b9ea8955a9cf229405407426921e7871"><code>2cc4e35</code></a>
test(ui): Avoid override term width</li>
<li><a
href="https://github.com/clap-rs/clap/commit/93e3559b1e4c8c81377f3598f7249b7708f4c379"><code>93e3559</code></a>
refactor(help): Clarify that we're carrying over indentation</li>
<li><a
href="https://github.com/clap-rs/clap/commit/b1c46e633c04f5cb0d819b15f25c1fde1a6e42c4"><code>b1c46e6</code></a>
refactor(help): Clarify var name</li>
<li><a
href="https://github.com/clap-rs/clap/commit/03b9b38df059c1a9a529f295e038f81de295627a"><code>03b9b38</code></a>
test(help): Show styled wrapping behavior</li>
<li><a
href="https://github.com/clap-rs/clap/commit/c9a39a534c3e95926be272765bec48a80e5ea9e7"><code>c9a39a5</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/6146">#6146</a>
from clap-rs/renovate/actions-checkout-5.x</li>
<li><a
href="https://github.com/clap-rs/clap/commit/58599fb7bf865f8ec0a7a021dea8111f5dffe6d2"><code>58599fb</code></a>
chore(deps): Update actions/checkout action to v5</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.57...clap_complete-v4.5.59">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.5.57&new-version=4.5.59)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [sqllogictest](https://github.com/risinglightdb/sqllogictest-rs)
from 0.29.0 to 0.29.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/risinglightdb/sqllogictest-rs/releases">sqllogictest's
releases</a>.</em></p>
<blockquote>
<h2>v0.29.1</h2>
<h2>[0.29.1] - 2026-02-13</h2>
<ul>
<li>parser/runner: Add <code>let</code> record for binding query results
to variables.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/risinglightdb/sqllogictest-rs/blob/main/CHANGELOG.md">sqllogictest's
changelog</a>.</em></p>
<blockquote>
<h2>[0.29.1] - 2026-02-13</h2>
<ul>
<li>parser/runner: Add <code>let</code> record for binding query results
to variables.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/risinglightdb/sqllogictest-rs/commit/ebab8dae6d6655e86a4793c70246df6fbaa80ecb"><code>ebab8da</code></a>
chore: bump version to v0.29.1 (<a
href="https://redirect.github.com/risinglightdb/sqllogictest-rs/issues/280">#280</a>)</li>
<li><a
href="https://github.com/risinglightdb/sqllogictest-rs/commit/18a6169dce73fb9a1536a60d89d09b25584d8fbc"><code>18a6169</code></a>
feat(parser,runner): add <code>let</code> record for binding query
results to variables ...</li>
<li>See full diff in <a
href="https://github.com/risinglightdb/sqllogictest-rs/compare/v0.29.0...v0.29.1">compare
view</a></li>
</ul>
</details>
<br />

<details>
<summary>Most Recent Ignore Conditions Applied to This Pull
Request</summary>

| Dependency Name | Ignore Conditions |
| --- | --- |
| sqllogictest | [>= 0.25.a, < 0.26] |
</details>


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sqllogictest&package-manager=cargo&previous-version=0.29.0&new-version=0.29.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.11.8
to 0.11.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-cli/env_logger/releases">env_logger's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.9</h2>
<h2>[0.11.9] - 2026-02-11</h2>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md">env_logger's
changelog</a>.</em></p>
<blockquote>
<h2>[0.11.9] - 2026-02-11</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rust-cli/env_logger/commit/2f06b4c7cf359b348cf92f95f83176897cedc838"><code>2f06b4c</code></a>
chore: Release</li>
<li><a
href="https://github.com/rust-cli/env_logger/commit/57e13acb42cac437ace7d3b9819f46de1d5f5d5a"><code>57e13ac</code></a>
chore: Release</li>
<li><a
href="https://github.com/rust-cli/env_logger/commit/4f9066d8af43095cf95bb9ddae046095af117dd6"><code>4f9066d</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/env_logger/issues/393">#393</a>
from rust-cli/renovate/crate-ci-typos-1.x</li>
<li><a
href="https://github.com/rust-cli/env_logger/commit/3e4709a2665c93f39c0cf63b84ceaea8da42864e"><code>3e4709a</code></a>
chore(deps): Update Rust crate snapbox to v0.6.24 (<a
href="https://redirect.github.com/rust-cli/env_logger/issues/394">#394</a>)</li>
<li><a
href="https://github.com/rust-cli/env_logger/commit/80ff83adba5f55a293a484e684cd10b88c6739de"><code>80ff83a</code></a>
chore(deps): Update pre-commit hook crate-ci/typos to v1.42.3</li>
<li><a
href="https://github.com/rust-cli/env_logger/commit/76891b9e32d7e0c2a43a6f843a20caaf5adb0782"><code>76891b9</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/env_logger/issues/392">#392</a>
from epage/template</li>
<li><a
href="https://github.com/rust-cli/env_logger/commit/14cda4a666db7f262fbc87f752ee2bc4d977100f"><code>14cda4a</code></a>
chore: Update from _rust template</li>
<li><a
href="https://github.com/rust-cli/env_logger/commit/e4f2b351a3d5290a8f26db395bf736e0f80a5856"><code>e4f2b35</code></a>
chore(ci): Update action</li>
<li><a
href="https://github.com/rust-cli/env_logger/commit/6d0d36b0723b29856d380eb89b3c571a9f9c570f"><code>6d0d36b</code></a>
chore(ci): Clean up previous branch in case it was leaked</li>
<li><a
href="https://github.com/rust-cli/env_logger/commit/30b3b14bd665d443f45123729dc69d1f085575f9"><code>30b3b14</code></a>
chore(ci): Fix how rustfmt jobs run</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/env_logger/compare/v0.11.8...v0.11.9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=env_logger&package-manager=cargo&previous-version=0.11.8&new-version=0.11.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/stale](https://github.com/actions/stale) from 10.1.1 to
10.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/stale/releases">actions/stale's
releases</a>.</em></p>
<blockquote>
<h2>v10.2.0</h2>
<h2>What's Changed</h2>
<h3>Bug Fix</h3>
<ul>
<li>Fix checking state cache (fix <a
href="https://redirect.github.com/actions/stale/issues/1136">#1136</a>)
and switch to Octokit helper methods by <a
href="https://github.com/itchyny"><code>@​itchyny</code></a> in <a
href="https://redirect.github.com/actions/stale/pull/1152">actions/stale#1152</a></li>
</ul>
<h3>Dependency Updates</h3>
<ul>
<li>Upgrade js-yaml from 4.1.0 to 4.1.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/stale/pull/1304">actions/stale#1304</a></li>
<li>Upgrade lodash from 4.17.21 to 4.17.23 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/stale/pull/1313">actions/stale#1313</a></li>
<li>Upgrade actions/cache from 4.0.3 to 5.0.2 and actions/github from
5.1.1 to 7.0.0 by <a
href="https://github.com/chiranjib-swain"><code>@​chiranjib-swain</code></a>
in <a
href="https://redirect.github.com/actions/stale/pull/1312">actions/stale#1312</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/itchyny"><code>@​itchyny</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/stale/pull/1152">actions/stale#1152</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/stale/compare/v10...v10.2.0">https://github.com/actions/stale/compare/v10...v10.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/stale/commit/b5d41d4e1d5dceea10e7104786b73624c18a190f"><code>b5d41d4</code></a>
build(deps-dev): bump lodash from 4.17.21 to 4.17.23 (<a
href="https://redirect.github.com/actions/stale/issues/1313">#1313</a>)</li>
<li><a
href="https://github.com/actions/stale/commit/dcd2b9469d2220b7e8d08aedc00c105d277fd46b"><code>dcd2b94</code></a>
Fix punycode and url.parse Deprecation Warnings (<a
href="https://redirect.github.com/actions/stale/issues/1312">#1312</a>)</li>
<li><a
href="https://github.com/actions/stale/commit/d6f8a33132340b15a7006f552936e4b9b39c00ec"><code>d6f8a33</code></a>
build(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 (<a
href="https://redirect.github.com/actions/stale/issues/1304">#1304</a>)</li>
<li><a
href="https://github.com/actions/stale/commit/a21a0816299b11691f9592ef0d63d08e02f06d9d"><code>a21a081</code></a>
Fix checking state cache (fix <a
href="https://redirect.github.com/actions/stale/issues/1136">#1136</a>),
also switch to octokit methods (<a
href="https://redirect.github.com/actions/stale/issues/1152">#1152</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/stale/compare/997185467fa4f803885201cee163a9f38240193d...b5d41d4e1d5dceea10e7104786b73624c18a190f">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/stale&package-manager=github_actions&previous-version=10.1.1&new-version=10.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [maturin](https://github.com/pyo3/maturin) from 1.11.5 to 1.12.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pyo3/maturin/releases">maturin's
releases</a>.</em></p>
<blockquote>
<h2>v1.12.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: allow absolute paths for <code>--sbom-include</code> by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/3004">PyO3/maturin#3004</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/PyO3/maturin/compare/v1.12.1...v1.12.2">https://github.com/PyO3/maturin/compare/v1.12.1...v1.12.2</a></p>
<h2>v1.12.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Add <code>--sbom-include</code> CLI argument for additional SBOM
files by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2999">PyO3/maturin#2999</a></li>
<li>fix: resolve include patterns relative to python-source for sdist
and wheel by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/3000">PyO3/maturin#3000</a></li>
<li>feat: support including <code>OUT_DIR</code> assets in wheel builds
by <a href="https://github.com/messense"><code>@​messense</code></a> in
<a
href="https://redirect.github.com/PyO3/maturin/pull/3001">PyO3/maturin#3001</a></li>
<li>add test case for uniffi with multiple crates by <a
href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in
<a
href="https://redirect.github.com/PyO3/maturin/pull/2839">PyO3/maturin#2839</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/PyO3/maturin/compare/v1.12.0...v1.12.1">https://github.com/PyO3/maturin/compare/v1.12.0...v1.12.1</a></p>
<h2>v1.12.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Use pypi compatibility validation for own CI by <a
href="https://github.com/konstin"><code>@​konstin</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2929">PyO3/maturin#2929</a></li>
<li>Update toml crates for toml 1.1 support by <a
href="https://github.com/konstin"><code>@​konstin</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2934">PyO3/maturin#2934</a></li>
<li>Use a single location for MSRV by <a
href="https://github.com/konstin"><code>@​konstin</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2936">PyO3/maturin#2936</a></li>
<li>Fix editable install for binary projects with Python modules by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2938">PyO3/maturin#2938</a></li>
<li>Release to crates.io only after the builds passed by <a
href="https://github.com/konstin"><code>@​konstin</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2939">PyO3/maturin#2939</a></li>
<li>Use <code>mymindstorm/setup-emsdk@v14</code> in generated GitHub
Actions workflow by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2941">PyO3/maturin#2941</a></li>
<li>Use trusted publishing for crates.io by <a
href="https://github.com/konstin"><code>@​konstin</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2943">PyO3/maturin#2943</a></li>
<li>Filter linked_paths by KIND and linked_libs by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2949">PyO3/maturin#2949</a></li>
<li>Update bytes to 1.11.1 by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2960">PyO3/maturin#2960</a></li>
<li>Normalize wheel distribution names to match the PyPA spec by <a
href="https://github.com/artob"><code>@​artob</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2954">PyO3/maturin#2954</a></li>
<li>Allow build loongarch64 and riscv64 for musllinux by <a
href="https://github.com/wojiushixiaobai"><code>@​wojiushixiaobai</code></a>
in <a
href="https://redirect.github.com/PyO3/maturin/pull/2963">PyO3/maturin#2963</a></li>
<li>Strip excluded cargo targets in sdist by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2964">PyO3/maturin#2964</a></li>
<li>Normalize wheel <code>RECORD</code> paths (on Windows) by <a
href="https://github.com/texodus"><code>@​texodus</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2965">PyO3/maturin#2965</a></li>
<li>Bump MSRV to 1.88.0 by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2966">PyO3/maturin#2966</a></li>
<li>Support MATURIN_STRIP env var and --strip true/false to override
pyproject.toml by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2968">PyO3/maturin#2968</a></li>
<li>fix: copy bin artifacts before auditwheel repair to avoid rerun
failures by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2969">PyO3/maturin#2969</a></li>
<li>fix: rewrite python-source in pyproject.toml when building sdist by
<a href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2972">PyO3/maturin#2972</a></li>
<li>fix: resolve wheel include patterns relative to project root by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2973">PyO3/maturin#2973</a></li>
<li>fix: always include workspace Cargo.toml in sdist by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2974">PyO3/maturin#2974</a></li>
<li>refactor: simplify source_distribution.rs by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2976">PyO3/maturin#2976</a></li>
<li>feat: support PEP 735 dependency groups in develop command by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2978">PyO3/maturin#2978</a></li>
<li>Fix license file handling for workspace-level license files by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2970">PyO3/maturin#2970</a></li>
<li>Support PEP 739 build-details.json when cross compiling by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2979">PyO3/maturin#2979</a></li>
<li>Fix .libs directory name for namespace packages by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2981">PyO3/maturin#2981</a></li>
<li>fix: exclude duplicate python source files from sdist for workspace
members by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2982">PyO3/maturin#2982</a></li>
<li>fix: remove default-members from workspace Cargo.toml in sdist by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2983">PyO3/maturin#2983</a></li>
<li>fix: correctly filter workspace members in sdist by directory path
by <a href="https://github.com/messense"><code>@​messense</code></a> in
<a
href="https://redirect.github.com/PyO3/maturin/pull/2984">PyO3/maturin#2984</a></li>
<li>feat: Add PEP 770 SBOM support by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2980">PyO3/maturin#2980</a></li>
<li>Error when python-source is set but Python module is missing by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2986">PyO3/maturin#2986</a></li>
<li>feat: add auditwheel SBOM for grafted shared libraries by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2985">PyO3/maturin#2985</a></li>
<li>Fix sdist duplicate README error when readme is in both Cargo.toml
and pyproject.toml by <a
href="https://github.com/messense"><code>@​messense</code></a> in <a
href="https://redirect.github.com/PyO3/maturin/pull/2987">PyO3/maturin#2987</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/PyO3/maturin/blob/main/Changelog.md">maturin's
changelog</a>.</em></p>
<blockquote>
<h2>1.12.2</h2>
<ul>
<li>Fix: allow absolute paths for <code>--sbom-include</code> (<a
href="https://redirect.github.com/pyo3/maturin/issues/3004">#3004</a>)</li>
</ul>
<h2>1.12.1</h2>
<ul>
<li>Replace addnab/docker-run-action with direct docker run command</li>
<li>Add <code>--sbom-include</code> CLI argument for additional SBOM
files (<a
href="https://redirect.github.com/pyo3/maturin/issues/2999">#2999</a>)</li>
<li>Fix: resolve include patterns relative to python-source for sdist
and wheel (<a
href="https://redirect.github.com/pyo3/maturin/issues/3000">#3000</a>)</li>
<li>Feat: log external shared libraries and their dependents before
patchelf</li>
<li>Feat: support including <code>OUT_DIR</code> assets in wheel builds
(<a
href="https://redirect.github.com/pyo3/maturin/issues/3001">#3001</a>)</li>
<li>Add test case for uniffi with multiple crates (<a
href="https://redirect.github.com/pyo3/maturin/issues/2839">#2839</a>)</li>
</ul>
<h2>1.12.0</h2>
<ul>
<li>Use pypi compatibility validation for own CI (<a
href="https://redirect.github.com/pyo3/maturin/issues/2929">#2929</a>)</li>
<li>Update toml crates for toml 1.1 support (<a
href="https://redirect.github.com/pyo3/maturin/issues/2934">#2934</a>)</li>
<li>Use a single location for MSRV (<a
href="https://redirect.github.com/pyo3/maturin/issues/2936">#2936</a>)</li>
<li>Fix editable install for binary projects with Python modules (<a
href="https://redirect.github.com/pyo3/maturin/issues/2938">#2938</a>)</li>
<li>Release to crates.io only after the builds passed (<a
href="https://redirect.github.com/pyo3/maturin/issues/2939">#2939</a>)</li>
<li>Use <code>mymindstorm/setup-emsdk@v14</code> in generated GitHub
Actions workflow (<a
href="https://redirect.github.com/pyo3/maturin/issues/2941">#2941</a>)</li>
<li>Use trusted publishing for crates.io (<a
href="https://redirect.github.com/pyo3/maturin/issues/2943">#2943</a>)</li>
<li>Filter linked_paths by KIND and linked_libs (<a
href="https://redirect.github.com/pyo3/maturin/issues/2949">#2949</a>)</li>
<li>Update bytes to 1.11.1 (<a
href="https://redirect.github.com/pyo3/maturin/issues/2960">#2960</a>)</li>
<li>Normalize wheel distribution names to match the PyPA spec (<a
href="https://redirect.github.com/pyo3/maturin/issues/2954">#2954</a>)</li>
<li>Allow build loongarch64 and riscv64 for musllinux (<a
href="https://redirect.github.com/pyo3/maturin/issues/2963">#2963</a>)</li>
<li>Strip excluded cargo targets in sdist (<a
href="https://redirect.github.com/pyo3/maturin/issues/2964">#2964</a>)</li>
<li>Normalize wheel <code>RECORD</code> paths (on Windows) (<a
href="https://redirect.github.com/pyo3/maturin/issues/2965">#2965</a>)</li>
<li>Bump MSRV to 1.88.0 (<a
href="https://redirect.github.com/pyo3/maturin/issues/2966">#2966</a>)</li>
<li>Support MATURIN_STRIP env var and --strip true/false to override
pyproject.toml (<a
href="https://redirect.github.com/pyo3/maturin/issues/2968">#2968</a>)</li>
<li>Fix: copy bin artifacts before auditwheel repair to avoid rerun
failures (<a
href="https://redirect.github.com/pyo3/maturin/issues/2969">#2969</a>)</li>
<li>Fix: rewrite python-source in pyproject.toml when building sdist (<a
href="https://redirect.github.com/pyo3/maturin/issues/2972">#2972</a>)</li>
<li>Fix: resolve wheel include patterns relative to project root (<a
href="https://redirect.github.com/pyo3/maturin/issues/2973">#2973</a>)</li>
<li>Fix: always include workspace Cargo.toml in sdist (<a
href="https://redirect.github.com/pyo3/maturin/issues/2974">#2974</a>)</li>
<li>Refactor: simplify source_distribution.rs (<a
href="https://redirect.github.com/pyo3/maturin/issues/2976">#2976</a>)</li>
<li>Feat: support PEP 735 dependency groups in develop command (<a
href="https://redirect.github.com/pyo3/maturin/issues/2978">#2978</a>)</li>
<li>Fix license file handling for workspace-level license files (<a
href="https://redirect.github.com/pyo3/maturin/issues/2970">#2970</a>)</li>
<li>Support PEP 739 build-details.json when cross compiling (<a
href="https://redirect.github.com/pyo3/maturin/issues/2979">#2979</a>)</li>
<li>Fix .libs directory name for namespace packages (<a
href="https://redirect.github.com/pyo3/maturin/issues/2981">#2981</a>)</li>
<li>Fix: exclude duplicate python source files from sdist for workspace
members (<a
href="https://redirect.github.com/pyo3/maturin/issues/2982">#2982</a>)</li>
<li>Fix: remove default-members from workspace Cargo.toml in sdist (<a
href="https://redirect.github.com/pyo3/maturin/issues/2983">#2983</a>)</li>
<li>Fix: correctly filter workspace members in sdist by directory path
(<a
href="https://redirect.github.com/pyo3/maturin/issues/2984">#2984</a>)</li>
<li>Feat: Add PEP 770 SBOM support (<a
href="https://redirect.github.com/pyo3/maturin/issues/2980">#2980</a>)</li>
<li>Error when python-source is set but Python module is missing (<a
href="https://redirect.github.com/pyo3/maturin/issues/2986">#2986</a>)</li>
<li>Feat: add auditwheel SBOM for grafted shared libraries (<a
href="https://redirect.github.com/pyo3/maturin/issues/2985">#2985</a>)</li>
<li>Fix sdist duplicate README error when readme is in both Cargo.toml
and pyproject.toml (<a
href="https://redirect.github.com/pyo3/maturin/issues/2987">#2987</a>)</li>
<li>Fix: support python-source pointing outside Rust source directory
(<a
href="https://redirect.github.com/pyo3/maturin/issues/2988">#2988</a>)</li>
<li>Relax ziglang dependency version requirement (<a
href="https://redirect.github.com/pyo3/maturin/issues/2990">#2990</a>)</li>
<li>Stop adding link-native-libraries flag by default in Emscripten
platform in latest Rust (<a
href="https://redirect.github.com/pyo3/maturin/issues/2991">#2991</a>)</li>
<li>Fix docker build github workflow</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/PyO3/maturin/commit/adb2906f90bb6b70722d0546c907b03e545c02f9"><code>adb2906</code></a>
Release v1.12.2</li>
<li><a
href="https://github.com/PyO3/maturin/commit/647356824548faf76cfb30421b21eb415323fe1d"><code>6473568</code></a>
fix: allow absolute paths for <code>--sbom-include</code> (<a
href="https://redirect.github.com/pyo3/maturin/issues/3004">#3004</a>)</li>
<li><a
href="https://github.com/PyO3/maturin/commit/e772489789a7052506d1884ac863b4ac59ffe5da"><code>e772489</code></a>
Release v1.12.1</li>
<li><a
href="https://github.com/PyO3/maturin/commit/0672082797e44ad3e0fd3570cc0b6f406f3680ef"><code>0672082</code></a>
add test case for uniffi with multiple crates (<a
href="https://redirect.github.com/pyo3/maturin/issues/2839">#2839</a>)</li>
<li><a
href="https://github.com/PyO3/maturin/commit/f201566f2a67d18bd4e85baa05e5d249f2be59a7"><code>f201566</code></a>
feat: support including <code>OUT_DIR</code> assets in wheel builds (<a
href="https://redirect.github.com/pyo3/maturin/issues/3001">#3001</a>)</li>
<li><a
href="https://github.com/PyO3/maturin/commit/66b4869413c9e174c3a5a17528f132a1426c7878"><code>66b4869</code></a>
feat: log external shared libraries and their dependents before
patchelf</li>
<li><a
href="https://github.com/PyO3/maturin/commit/8f8f9f7cbd035305328e4e3d7ef9b58cea665a3b"><code>8f8f9f7</code></a>
fix: resolve include patterns relative to python-source for sdist and
wheel (...</li>
<li><a
href="https://github.com/PyO3/maturin/commit/1688a73eec327f3e2fabdeb37e829da2bc2ceff0"><code>1688a73</code></a>
netlify: update mdbook to 0.5.2</li>
<li><a
href="https://github.com/PyO3/maturin/commit/aefe09d14376d88773d3dcf4c4c6a7693bf69e8b"><code>aefe09d</code></a>
Add <code>--sbom-include</code> CLI argument for additional SBOM files
(<a
href="https://redirect.github.com/pyo3/maturin/issues/2999">#2999</a>)</li>
<li><a
href="https://github.com/PyO3/maturin/commit/8a688caf69782bbab1370a0bce03ddbf3ada900e"><code>8a688ca</code></a>
Document SBOM support in user guide</li>
<li>Additional commits viewable in <a
href="https://github.com/pyo3/maturin/compare/v1.11.5...v1.12.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=maturin&package-manager=pip&previous-version=1.11.5&new-version=1.12.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.20.0 to 1.21.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/uuid-rs/uuid/releases">uuid's
releases</a>.</em></p>
<blockquote>
<h2>v1.21.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update getrandom to 0.4 by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/858">uuid-rs/uuid#858</a></li>
<li>feat: impl core::error::Error for Error by <a
href="https://github.com/XAMPPRocky"><code>@​XAMPPRocky</code></a> in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/852">uuid-rs/uuid#852</a></li>
<li>Prepare for 1.21.0 release by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/859">uuid-rs/uuid#859</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/XAMPPRocky"><code>@​XAMPPRocky</code></a> made
their first contribution in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/852">uuid-rs/uuid#852</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/uuid-rs/uuid/compare/v1.20.0...v1.21.0">https://github.com/uuid-rs/uuid/compare/v1.20.0...v1.21.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/uuid-rs/uuid/commit/a38fa19b3d8fc640304b49dff853bd7fa3096f0b"><code>a38fa19</code></a>
Merge pull request <a
href="https://redirect.github.com/uuid-rs/uuid/issues/859">#859</a> from
uuid-rs/cargo/v1.21.0</li>
<li><a
href="https://github.com/uuid-rs/uuid/commit/e45b10fbc59e848e966db05438bd42ef4922d688"><code>e45b10f</code></a>
prepare for 1.21.0 release</li>
<li><a
href="https://github.com/uuid-rs/uuid/commit/f6f5d482737915c86e40a92b420f24ae0d9cca9c"><code>f6f5d48</code></a>
Merge pull request <a
href="https://redirect.github.com/uuid-rs/uuid/issues/852">#852</a> from
XAMPPRocky/main</li>
<li><a
href="https://github.com/uuid-rs/uuid/commit/9bee4bd565812b62c65a789793ebc04a8b7d7034"><code>9bee4bd</code></a>
Merge branch 'main' into main</li>
<li><a
href="https://github.com/uuid-rs/uuid/commit/cb8f15639186b2c1c0f7afed332602992a4c0201"><code>cb8f156</code></a>
Merge pull request <a
href="https://redirect.github.com/uuid-rs/uuid/issues/858">#858</a> from
uuid-rs/chore/getrandom-04</li>
<li><a
href="https://github.com/uuid-rs/uuid/commit/a59c06124331a95c36ff40fd23f8abb7d60e61b1"><code>a59c061</code></a>
bump msrv to 1.85.0 for getrandom</li>
<li><a
href="https://github.com/uuid-rs/uuid/commit/b9a31578faa0ebae2c7144e1f415ee60d69ee011"><code>b9a3157</code></a>
bump msrv to 1.81.0</li>
<li><a
href="https://github.com/uuid-rs/uuid/commit/2a0a7a31175d078516d9ce3e095e54f1e5581852"><code>2a0a7a3</code></a>
force an earlier nightly for miri</li>
<li><a
href="https://github.com/uuid-rs/uuid/commit/a6e0aa10dac8e861e383eced0d9f8f66d11e788e"><code>a6e0aa1</code></a>
update rand to 0.10</li>
<li><a
href="https://github.com/uuid-rs/uuid/commit/576d47bc63c56b19c6535e14da17a9c403ab7844"><code>576d47b</code></a>
update getrandom to 0.4</li>
<li>Additional commits viewable in <a
href="https://github.com/uuid-rs/uuid/compare/v1.20.0...v1.21.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.20.0&new-version=1.21.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Which issue does this PR close?


## Rationale for this change

Keep up to date. I saw when looking at
apache#20325 we were still at
0.12.4 (and are reading metadata per range). This can bring a (probably
minor, as metadata reading should be pretty cheap) improvement (I
couldn't see an improvement locally).

## What changes are included in this PR?

Update to 0.12.5. 
Note it still does a metadata request, but only a single one per
`get_ranges`.

## Are these changes tested?

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
…0364)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes #.

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

This PR optimizes the `array_distinct` function by batching value
conversions and utilizing a `HashSet` for deduplication.
It is a follow-up to apache#20243.

## What changes are included in this PR?

This PR optimizes `array_distinct` by:
1. Converting all values to rows in a single batch rather than
individually.
2. Using a HashSet to deduplicate values for each list.

### Benchmark
```
group                                main                                   optimized
-----                                ----                                   ---------
array_distinct/high_duplicate/10     2.66   855.1±28.18µs        ? ?/sec    1.00    321.9±8.70µs        ? ?/sec
array_distinct/high_duplicate/100    2.21      6.4±0.13ms        ? ?/sec    1.00      2.9±0.09ms        ? ?/sec
array_distinct/high_duplicate/50     2.14      3.2±0.05ms        ? ?/sec    1.00  1478.3±41.90µs        ? ?/sec
array_distinct/low_duplicate/10      2.73  1017.3±44.67µs        ? ?/sec    1.00   372.5±17.33µs        ? ?/sec
array_distinct/low_duplicate/100     1.32      4.4±0.13ms        ? ?/sec    1.00      3.3±0.15ms        ? ?/sec
array_distinct/low_duplicate/50      1.55      2.6±0.06ms        ? ?/sec    1.00  1689.0±94.15µs        ? ?/sec
```

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

Yes, unit tests exist and pass.

## Are there any user-facing changes?

Yes, there is a slight change in the output order. This new behavior is
consistent with `array_union` and `array_intersect`, where the output
order is more intuitive as it preserves the original order of elements
in the array.

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->

---------

Co-authored-by: lyne7-sc <lilinfeng0310@gmail.com>
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.114 to 2.0.116.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/syn/releases">syn's
releases</a>.</em></p>
<blockquote>
<h2>2.0.116</h2>
<ul>
<li>Optimize parse_fn_arg_or_variadic for less lookahead on erroneous
receiver (<a
href="https://redirect.github.com/dtolnay/syn/issues/1968">#1968</a>)</li>
</ul>
<h2>2.0.115</h2>
<ul>
<li>Enable GenericArgument::Constraint parsing in non-full mode (<a
href="https://redirect.github.com/dtolnay/syn/issues/1966">#1966</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/syn/commit/a62e54a48b3b05add5df0e80fe93906509ad72ae"><code>a62e54a</code></a>
Release 2.0.116</li>
<li><a
href="https://github.com/dtolnay/syn/commit/5a8ed9f32e572f35a952c05f25beb3bd976300a4"><code>5a8ed9f</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1968">#1968</a>
from dtolnay/receiver</li>
<li><a
href="https://github.com/dtolnay/syn/commit/813afcc7733b02a8ad0a829eef431e593a906379"><code>813afcc</code></a>
Optimize parse_fn_arg_or_variadic for less lookahead on erroneous
receiver</li>
<li><a
href="https://github.com/dtolnay/syn/commit/c17215011363b8e936b98a9053726abfbc2bdcc4"><code>c172150</code></a>
Add regression test for issue 1718</li>
<li><a
href="https://github.com/dtolnay/syn/commit/0071ab367ca6c42f94209f8187de3e540231427f"><code>0071ab3</code></a>
Ignore type_complexity clippy lint</li>
<li><a
href="https://github.com/dtolnay/syn/commit/3610c34ebd3f7c6c473d286294cd8e211ec3ebcd"><code>3610c34</code></a>
Release 2.0.115</li>
<li><a
href="https://github.com/dtolnay/syn/commit/f22e80627ff044fddadf0779cf50a3a97bd49aa0"><code>f22e806</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1966">#1966</a>
from dtolnay/constraint</li>
<li><a
href="https://github.com/dtolnay/syn/commit/a3faba715bfd0e0d852b7fbb92146029a5a31b97"><code>a3faba7</code></a>
Enable GenericArgument::Constraint parsing in non-full mode</li>
<li><a
href="https://github.com/dtolnay/syn/commit/90651578ef2188b109c17feed0375a1fd429bd18"><code>9065157</code></a>
Pin CI miri to nightly-2026-02-11</li>
<li><a
href="https://github.com/dtolnay/syn/commit/530e7e76015cd46a61d8b319c15bffea7f1aaf9e"><code>530e7e7</code></a>
Update toml from 0.9 to 1.0</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/syn/compare/2.0.114...2.0.116">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.114&new-version=2.0.116)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#20151 .

## Rationale for this change
Reduce the irrelevant data being used to hash for `MapArray`
<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache/datafusion-comet#2986.

## Rationale for this change

atan2 scalar calls were still going through array conversion in the math
binary UDF macro, adding unnecessary overhead for constant folding and
scalar evaluation. This PR adds a direct scalar fast path so scalar
inputs no longer pay that cost

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

  - Add a scalar fast path to the binary math UDF macro (used by atan2) 
 - Add a new atan2 benchmark 


  | Type | Before | After | Speedup |
  |------|--------|-------|---------|
  | atan2_f32_scalar | 233.71 ns | 53.39 ns | 4.4x |
  | atan2_f64_scalar | 225.02 ns | 56.57 ns | 4.0x |
 
Note: This change targets the make_math_binary_udf macro, which is
currently only used by atan2, so the impact in this PR is limited to
atan2 only.

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

Yes

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

No

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
…he#20398)

Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.67.27 to 2.68.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.68.0</h2>
<ul>
<li>
<p>Support <code>gungraun-runner</code>. (<a
href="https://redirect.github.com/taiki-e/install-action/pull/1520">#1520</a>,
thanks <a
href="https://github.com/gamma0987"><code>@​gamma0987</code></a>)</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.10.3.</p>
</li>
<li>
<p>Update <code>typos@latest</code> to 1.43.5.</p>
</li>
<li>
<p>Update <code>tombi@latest</code> to 0.7.29.</p>
</li>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.156.</p>
</li>
<li>
<p>Update <code>cargo-lambda@latest</code> to 1.9.0.</p>
</li>
<li>
<p>Update <code>prek@latest</code> to 0.3.3.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2026.2.13.</p>
</li>
</ul>
<h2>2.67.30</h2>
<ul>
<li>Update <code>cargo-nextest@latest</code> to 0.9.127.</li>
</ul>
<h2>2.67.29</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2026.2.11.</p>
</li>
<li>
<p>Update <code>cargo-no-dev-deps@latest</code> to 0.2.21.</p>
</li>
<li>
<p>Update <code>cargo-minimal-versions@latest</code> to 0.1.36.</p>
</li>
<li>
<p>Update <code>cargo-hack@latest</code> to 0.6.43.</p>
</li>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.17.5.</p>
</li>
<li>
<p>Update <code>osv-scanner@latest</code> to 2.3.3.</p>
</li>
<li>
<p>Update <code>martin@latest</code> to 1.3.1.</p>
</li>
<li>
<p>Update <code>parse-dockerfile@latest</code> to 0.1.4.</p>
</li>
</ul>
<h2>2.67.28</h2>
<ul>
<li>
<p>Update <code>uv@latest</code> to 0.10.2.</p>
</li>
<li>
<p>Update <code>syft@latest</code> to 1.42.0.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2026.2.9.</p>
</li>
<li>
<p>Update <code>cyclonedx@latest</code> to 0.30.0.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<ul>
<li>
<p>Update <code>tombi@latest</code> to 0.7.30.</p>
</li>
<li>
<p>Update <code>knope@latest</code> to 0.22.3.</p>
</li>
</ul>
<h2>[2.68.0] - 2026-02-16</h2>
<ul>
<li>
<p>Support <code>gungraun-runner</code>. (<a
href="https://redirect.github.com/taiki-e/install-action/pull/1520">#1520</a>,
thanks <a
href="https://github.com/gamma0987"><code>@​gamma0987</code></a>)</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.10.3.</p>
</li>
<li>
<p>Update <code>typos@latest</code> to 1.43.5.</p>
</li>
<li>
<p>Update <code>tombi@latest</code> to 0.7.29.</p>
</li>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.156.</p>
</li>
<li>
<p>Update <code>cargo-lambda@latest</code> to 1.9.0.</p>
</li>
<li>
<p>Update <code>prek@latest</code> to 0.3.3.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2026.2.13.</p>
</li>
</ul>
<h2>[2.67.30] - 2026-02-13</h2>
<ul>
<li>Update <code>cargo-nextest@latest</code> to 0.9.127.</li>
</ul>
<h2>[2.67.29] - 2026-02-13</h2>
<ul>
<li>
<p>Update <code>mise@latest</code> to 2026.2.11.</p>
</li>
<li>
<p>Update <code>cargo-no-dev-deps@latest</code> to 0.2.21.</p>
</li>
<li>
<p>Update <code>cargo-minimal-versions@latest</code> to 0.1.36.</p>
</li>
<li>
<p>Update <code>cargo-hack@latest</code> to 0.6.43.</p>
</li>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.17.5.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/taiki-e/install-action/commit/f8d25fb8a2df08dcd3cead89780d572767b8655f"><code>f8d25fb</code></a>
Release 2.68.0</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/27ef967ed8d6bcb99b4a5c4d7766a2a06882df9d"><code>27ef967</code></a>
Update changelog</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/28a014e014972cc31b8e0fc06d35546ab2af0cc4"><code>28a014e</code></a>
Add gungraun-runner (<a
href="https://redirect.github.com/taiki-e/install-action/issues/1520">#1520</a>)</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/d132751fe4f21bcb72df44a433ee5355199c1e57"><code>d132751</code></a>
Update <code>uv@latest</code> to 0.10.3</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/bff1ddbc430e53cae5cb37eb8c446f5309bdd2d8"><code>bff1ddb</code></a>
Update <code>typos@latest</code> to 1.43.5</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/79677b631d3654c4ea65fb3ce5671191b938f200"><code>79677b6</code></a>
Update <code>tombi@latest</code> to 0.7.29</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/b78a20397f8be65255b70938ed779a1462344f4c"><code>b78a203</code></a>
Update <code>release-plz@latest</code> to 0.3.156</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/46985b6af79c9d81ef3b25e32c7c67b0502e24fa"><code>46985b6</code></a>
Update <code>cargo-lambda@latest</code> to 1.9.0</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/3f08cd58945ede4f0d18a2a859dd8875ea0fc5b8"><code>3f08cd5</code></a>
ci: Temporarily disable broken archlinux test</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/80e1af6735e72e84f33517a81b7d524165116b99"><code>80e1af6</code></a>
Update <code>prek@latest</code> to 0.3.3</li>
<li>Additional commits viewable in <a
href="https://github.com/taiki-e/install-action/compare/1e67dedb5e3c590e1c9d9272ace46ef689da250d...f8d25fb8a2df08dcd3cead89780d572767b8655f">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.67.27&new-version=2.68.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Which issue does this PR close?

N/A

## Rationale for this change

Add new function:
https://spark.apache.org/docs/latest/api/sql/index.html#bitmap_bit_position

## What changes are included in this PR?

- Implementation
- Unit Tests
- SLT tests

## Are these changes tested?

Yes, tests added as part of this PR.

## Are there any user-facing changes?

No, these are new function.

---------

Co-authored-by: Kazantsev Maksim <mn.kazantsev@gmail.com>
## Which issue does this PR close?

- Closes apache#20367.

## Rationale for this change

It's more ergonomic to have colored diffs in sqllogictest's output. 

The upstream library already supports it, and we can enable it based on
the user's choice. This PR checks `NO_COLOR`, terminal settings,
`CARGO_TERM_COLOR` and `--color` CLI argument. By default, the diff is
colored.

<img width="1243" height="338" alt="Screenshot 2026-02-15 at 11 44 05"
src="https://github.com/user-attachments/assets/a0aec386-ff33-4935-9a58-ba96fcd4ceb8"
/>

## What changes are included in this PR?

- sqllogictest driver output colouring with argument/flags analysis

## Are these changes tested?

- Tested different flag combinations

## Are there any user-facing changes?

---------

Signed-off-by: theirix <theirix@gmail.com>
)

## Which issue does this PR close?

- Closes apache#20360 

## Rationale for this change

concat_ws only handled Utf8 separators (despite its signature claiming
otherwise). Attempting to pass a Utf8View or LargeUtf8 separator would
result in a panic or internal error.

## What changes are included in this PR?

* Add SLT test case for array Utf8View separator
* Add unit test for scalar Utf8View separator
* Fix behavior: add support for LargeUtf8 and Utf8View separators, both
array and scalar
* Other minor code cleanups and improvements

## Are these changes tested?

Yes. Added new test cases.

Note that we can't easily test the scalar separator case via SQL,
because `simplify_concat_ws` casts constant/scalar separators to Utf8.
That behavior is dubious and IMO should be changed, but I'll tackle that
in a subsequent PR.

## Are there any user-facing changes?

No, aside from a previously failing query now succeeding.
## Which issue does this PR close?

- Closes apache#20316.

## Rationale for this change

Faster is better.

## What changes are included in this PR?

This commit implements three optimizations:

* In `StringViewArrayBuilder`, we recreated `block` after every call to
`append_offset`. It is cheaper to instead clear and re-use `block`.

* In `StringViewArrayBuilder::write()`, we re-validated that a string
array consists of valid UTF8 characters. This was unnecessary work and
can be skipped.

* In the concat() UDF implementation, we miscalculated the initial size
of the StringViewArrayBuilder buffer. This didn't lead to incorrect
behavior but it resulted in unnecessarily needing to reallocate the
buffer.

## Are these changes tested?

Yes; no additional test cases warranted.

## Are there any user-facing changes?

No.
## Which issue does this PR close?

- Closes apache#20302.

## Rationale for this change

`translate()` is commonly invoked with constant values for its second
and third arguments. We can take advantage of that to significantly
optimize its performance by precomputing the translation lookup table,
rather than recomputing it for every row. For ASCII-only inputs, we can
further replace the hashmap lookup table with a fixed-size array that
maps ASCII byte values directly.

For scalar ASCII inputs, this yields roughly a 10x performance
improvement. For scalar UTF8 inputs, the performance improvement is more
like 50%, although less so for long strings.

Along the way, add support for `translate()` on `LargeUtf8` input, along
with an SLT test, and improve the docs.

## What changes are included in this PR?

* Add a benchmark for scalar/constant input to translate
* Add a missing test case
* Improve translate() docs
* Support translate() on LargeUtf8 input
* Optimize translate() for scalar inputs by precomputing lookup hashmap
* Optimize translate() for ASCII inputs by precomputing ASCII byte-wise
lookup table

## Are these changes tested?

Yes. Added an extra test case and did a bunch of benchmarking.

## Are there any user-facing changes?

No.

---------

Co-authored-by: Martin Grigorov <martin-g@users.noreply.github.com>
Co-authored-by: Jeffrey Vo <jeffrey.vo.australia@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.